home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3 (Developer)…68k, x86, SPARC, PA-RISC] / NeXTSTEP 3.3 Dev Intel.iso / NextDeveloper / Headers / objc / objc.h < prev    next >
C/C++ Source or Header  |  1991-11-26  |  973b  |  39 lines

  1. /*
  2.  *    objc.h
  3.  *    Copyright 1988, NeXT, Inc.
  4.  */
  5.  
  6. #ifndef _OBJC_OBJC_H_
  7. #define _OBJC_OBJC_H_
  8.  
  9. typedef struct objc_class *Class;
  10.  
  11. typedef struct objc_object {
  12.     Class isa;
  13. } *id;
  14.  
  15. typedef struct objc_selector     *SEL;    
  16. typedef char *            STR;
  17. typedef id             (*IMP)(id, SEL, ...); 
  18. typedef char            BOOL;
  19.  
  20. extern BOOL sel_isMapped(SEL sel);
  21. extern const char *sel_getName(SEL sel);
  22. extern SEL sel_getUid(const char *str);
  23. extern SEL sel_registerName(const char *str);
  24. extern const char *object_getClassName(id obj);
  25. extern void *object_getIndexedIvars(id obj);
  26.  
  27. #define YES             (BOOL)1
  28. #define NO              (BOOL)0
  29. #define ISSELECTOR(sel) sel_isMapped(sel)
  30. #define SELNAME(sel)    sel_getName(sel)
  31. #define SELUID(str)    sel_getUid(str)
  32. #define NAMEOF(obj)     object_getClassName(obj)
  33. #define IV(obj)         object_getIndexedIvars(obj)
  34.  
  35. #define Nil (Class)0           /* id of Nil class */
  36. #define nil (id)0              /* id of Nil instance */
  37.  
  38. #endif /* _OBJC_OBJC_H_ */
  39.